Business entities and consumers are storing an ever increasing amount of digitized data. For example, many commercial entities are in the process of digitizing their business records and/or other data. Similarly, web based service providers generally engage in transactions that are primarily digital in nature. Thus, techniques and mechanisms that facilitate efficient and cost effective storage of vast amounts of digital data are being implemented.
Many storage systems comprise storage servers that are connected to storage enclosures comprising a plurality of storage devices. Storage servers generally provide data to be stored and/or a means to access said data once it is stored, and storage enclosures generally provide a place for data to be stored. A standard interface, such as a small computer system interface (SCSI), may be implemented to facilitate communication and data transfer between storage servers and storage enclosures. The SCSI standard may define commands, protocols, and/or interfaces used for, among other things, data communication, for example. In addition, a transport mechanism, such as a parallel electrical bus design, may be used to transport the data between a storage server and storage enclosure. For example, a parallel SCSI may allow the storage server to communicate read/write operations to the storage enclosure over a parallel electric bus using the SCSI standard.
Currently, Serial Attached SCSI (SAS) is beginning to replace parallel SCSI. SAS continues to use the SCSI standard for defining commands, protocols, and interfaces. However, SAS utilizes a serial interface as opposed to a parallel interface, which allows for simple cable design, longer transmission distances, and higher clock speeds, for example. Thus, many storage servers may utilize SAS for communicating with storage enclosures.
The storage server may comprise a host bus adapter that provides connectivity to the storage enclosure. The host bus adapter may comprise a host bus adapter controller chip configured to provide SAS communication to the storage enclosure. That is, the host bus adapter controller chip may translate data commands from the storage server into a SAS format that may be sent to the storage enclosure. The host bus adapter controller chip may be serially connected to a SAS expander located within the storage enclosure. The SAS expander within the storage enclosure may comprise SAS communication ports individually connected to storage devices within the storage enclosure. In some instances, a second SAS expander may be connected to storage devices within the storage enclosure to provide redundant paths from the storage server to the storage devices.
The storage enclosure may comprise serial advanced technology attachment (SATA) storage devices. SATA is a computer bus interface / disk protocol for connecting host bus adapters to storage devices. A SAS to SATA bridge chip may be used to translate communications between the SAS expander and the SATA storage devices due to differences between SAS and SATA.
In one example of communication between a storage server and a storage device within a storage enclosure, the storage server may issue a read/write operation to a host bus adapter located within the storage server. A host bus adapter controller located within the host bus adapter may translate the read/write operation into a SAS format. The SAS read/write operation may be sent from the host bus adapter controller to the storage enclosure. A SAS expander located within the storage enclosure may receive the SAS read/write operation, and forward the SAS read/write operation through a SAS communication port to a SAS to SATA bridge chip corresponding to the target storage device. The SAS to SATA bridge chip may receive the SAS read/write operation, and convert the SAS read/write operation into a SATA read/write operation, which may be sent to the target storage device. In this way, the storage server may utilize SAS to communicate with a storage server comprising SATA storage devices. Additionally, the storage server may receive communications from the SATA storage devices in a similar manner (e.g., a response from the storage device corresponding to a read command). It may be appreciated that the storage enclosure may comprise a plurality of storage devices (e.g., 24 disk drives or more), which may be assessable to the storage server.
Presently, the cost of storage enclosures may be measured in terms of cost per slot. The cost per slot is a function of the total cost of the storage enclosure relative to (e.g., divided by) the number of supported storage devices. Unfortunately, the number of supported SATA storage devices is currently limited based upon the number of SAS communication ports a SAS expander comprises. That is, current storage enclosures require a separate SAS communication port for each SATA storage device. For example, a SAS expander may comprise 36 SAS communication ports that may be physically connected to 36 or fewer SAS storage devices.